﻿/*
 * Carga los datos desde el XML "smist_datos_sem" a Base de Datos SQLite
 */

function cargarDatosSem() {
	// Cargar tabla smist_datos_sem
	$.get("../data/smist/smist_datos_sem.xml", function (xml) {
		$(xml).find("row").each(function () {
			id_senal 				= $(this).find('id_senal').text();
			id_tipo_pos 			= $(this).find('id_tipo_pos').text();
			nro_postes 				= $(this).find('nro_postes').text();
			nro_caras 				= $(this).find('nro_caras').text();
			nro_contadores 			= $(this).find('nro_contadores').text();
			id_estad_con 			= $(this).find('id_estad_con').text();
			id_model_con 			= $(this).find('id_model_con').text();
			nro_fases 				= $(this).find('nro_fases').text();
			ciclo 					= $(this).find('ciclo').text();

			insertarDatosSemXML(id_senal, id_tipo_pos, nro_postes, nro_caras, nro_contadores, id_estad_con, id_model_con, nro_fases, ciclo);
		});
	});
}


/*
 * Insertar los Datos del Semáforo desde un XML
 */

function insertarDatosSemXML(id_senal, id_tipo_pos, nro_postes, nro_caras, nro_contadores, id_estad_con, id_model_con, nro_fases, ciclo) {
	db.transaction(function(tx) {
		tx.executeSql('INSERT INTO smist_datos_sem (id_senal, id_tipo_pos, nro_postes, nro_caras, nro_contadores, id_estad_con, id_model_con, nro_fases, ciclo) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', [id_senal, id_tipo_pos, nro_postes, nro_caras, nro_contadores, id_estad_con, id_model_con, nro_fases, ciclo]);
	});
}


/*
 * Insertar los Datos del Semáforo Localmente
 */

function insertarDatosSem(id_senal, id_tipo_pos, nro_postes, nro_caras, nro_contadores, id_estad_con, id_model_con, nro_fases, ciclo) {
	db.transaction(function(tx) {
		tx.executeSql('INSERT INTO smist_datos_sem (id_senal, id_tipo_pos, nro_postes, nro_caras, nro_contadores, id_estad_con, id_model_con, nro_fases, ciclo) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', [id_senal, id_tipo_pos, nro_postes, nro_caras, nro_contadores, id_estad_con, id_model_con, nro_fases, ciclo]);
	});
}


/*
 * Consultar los Datos de un Semáforo por ID SEÑAL
 */

function consultarDatosSem( id_senal ) {
	db.transaction(function(tx) {
		tx.executeSql('SELECT * FROM smist_datos_sem WHERE id_senal = ?', [id_senal], resConsultarDatosSem);
	});
}


/*
 * Respuesta a Consultar los Datos de un Semáforo por ID SEÑAL
 */

function resConsultarDatosSem(tx, rs) {
    r = rs.rows.item(0);

    consultarNombreTipoPos( r['id_tipo_pos'] );
	
	$('#nro_postes').val(r['nro_postes']);
	$('#nro_caras').val(r['nro_caras']);
	$('#nro_contadores').val(r['nro_contadores']);
	
	consultarNombreEstadCon( r['id_estad_con'] );
	consultarNombreModelCon( r['id_model_con'] );
	
	$('#nro_fases').val(r['nro_fases']);
	$('#ciclo').val(r['ciclo']);
}


/*
 * Eliminar los Datos del Semáforo por ID SEÑAL
 */

function eliminarDatosSem( id_senal ) {
    db.transaction(function(tx) {
        tx.executeSql('DELETE FROM smist_datos_sem WHERE id_senal = ?', [id_senal], resEliminarDatosSem);
    });
}


/*
 * Respuesta a Eliminar los Datos del Semáforo por ID SEÑAL
 */

function resEliminarDatosSem(tx, rs) {
    // alert("resEliminarDatosSem Filas Affectadas: " + rs.rowsAffected);
}


/*
 * PRUEBAS DE CARGA DE DATA DE XML A BD
 */

/*
 * Prueba de carga de todos los Datos del XML a BD
 */

function pruebaDatosSem() {
    db.transaction(function(tx) {
        tx.executeSql('SELECT * FROM smist_datos_sem', [], resPruebaDatosSem);
    });
}


/*
 * Respuesta a la Prueba de carga de todos los Datos del XML a BD
 */

function resPruebaDatosSem(tx, rs) {
    alert("Cantidad resPruebaDatosSem : " + rs.rows.length + " -> 1");
	for(var i=0; i < rs.rows.length; i++) {
		r = rs.rows.item(i);
		//alert("resPruebaDatosSem: " + r['id_senal'] + " - " + r['id_tipo_pos'] + " - " + r['nro_postes'] + " - " + r['nro_caras'] + " - " + r['nro_contadores'] + " - " + r['id_estad_con'] + " - " + r['id_model_con'] + " - " + r['nro_fases'] + " - " + r['ciclo']);
	}
}